#!/usr/bin/env python3

"""Login to AWS ECR to avoid AWS CLI variations."""

import sys
from base64 import b64decode
from subprocess import run

import boto3

try:
    auth = boto3.client('ecr').get_authorization_token()['authorizationData'][0]
    user, passwd = b64decode(auth['authorizationToken']).split(b':', 1)
    exit(
        run(
            ['docker', 'login', '-u', user, '--password-stdin', auth['proxyEndpoint']],
            input=passwd,
        ).returncode
    )
except Exception as e:
    print(f'{sys.argv[0]}: {e}', file=sys.stderr)
    exit(1)
